<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="STYLESHEET" href="lib.css" type='text/css' />
<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
<link rel='start' href='../index.html' title='Python documentation Index' />
<link rel="first" href="lib.html" title='Python library Reference' />
<link rel='contents' href='contents.html' title="Contents" />
<link rel='index' href='genindex.html' title='Index' />
<link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...' />
<link rel="next" href="module-rfc822.html" />
<link rel="prev" href="module-mimify.html" />
<link rel="parent" href="netdata.html" />
<link rel="next" href="MultiFile-objects.html" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name='aesop' content='information' />
<title>7.9 multifile -- Support for files containing distinct parts</title>
</head>
<body>
<div class="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="7.8 mimify  "
  href="module-mimify.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="7. internet Data Handling"
  href="netdata.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="7.9.1 multifile Objects"
  href="MultiFile-objects.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="module-mimify.html">7.8 mimify  </a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="netdata.html">7. Internet Data Handling</a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="MultiFile-objects.html">7.9.1 MultiFile Objects</a>
</div>
<hr /></div>
</div>
<!--End of Navigation Panel-->

<h1><a name="SECTION009900000000000000000">
7.9 <tt class="module">multifile</tt> --
         Support for files containing distinct parts</a>
</h1>

<p>
<a name="module-multifile"></a>

<p>
<div class="versionnote"><b>Deprecated since release 2.5.</b>
The <tt class="module"><a href="module-email.html">email</a></tt> package should be used in
                 preference to the <tt class="module">multifile</tt> module.
                 This module is present only to maintain backward
                 compatibility.</div><p></p>

<p>
The <tt class="class">MultiFile</tt> object enables you to treat sections of a text
file as file-like input objects, with <code>''</code> being returned by
<tt class="method">readline()</tt> when a given delimiter pattern is encountered.  The
defaults of this class are designed to make it useful for parsing
MIME multipart messages, but by subclassing it and overriding methods 
it can be easily adapted for more general use.

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-1546' xml:id='l2h-1546' class="class">MultiFile</tt></b>(</nobr></td>
  <td><var>fp</var><big>[</big><var>, seekable</var><big>]</big><var></var>)</td></tr></table></dt>
<dd>
Create a multi-file.  You must instantiate this class with an input
object argument for the <tt class="class">MultiFile</tt> instance to get lines from,
such as a file object returned by <tt class="function">open()</tt>.

<p>
<tt class="class">MultiFile</tt> only ever looks at the input object's
<tt class="method">readline()</tt>, <tt class="method">seek()</tt> and <tt class="method">tell()</tt> methods, and
the latter two are only needed if you want random access to the
individual MIME parts. To use <tt class="class">MultiFile</tt> on a non-seekable
stream object, set the optional <var>seekable</var> argument to false; this
will prevent using the input object's <tt class="method">seek()</tt> and
<tt class="method">tell()</tt> methods.
</dl>

<p>
It will be useful to know that in <tt class="class">MultiFile</tt>'s view of the world, text
is composed of three kinds of lines: data, section-dividers, and
end-markers.  MultiFile is designed to support parsing of
messages that may have multiple nested message parts, each with its
own pattern for section-divider and end-marker lines.

<p>
<div class="seealso">
  <p class="heading">See Also:</p>

  <dl compact="compact" class="seemodule">
    <dt>Module <b><tt class="module"><a href="module-email.html">email</a></tt>:</b>
    <dd>Comprehensive email handling package; supersedes
                    the <tt class="module">multifile</tt> module.
  </dl>
</div>

<p>

<p><br /></p><hr class='online-navigation' />
<div class='online-navigation'>
<!--Table of Child-Links-->
<a name="CHILD_LINKS"><strong>Subsections</strong></a>

<ul class="ChildLinks">
<li><a href="MultiFile-objects.html">7.9.1 MultiFile Objects</a>
<li><a href="multifile-example.html">7.9.2 <tt class="class">MultiFile</tt> Example</a>
</ul>
<!--End of Table of Child-Links-->
</div>

<div class="navigation">
<div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="7.8 mimify  "
  href="module-mimify.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="7. internet Data Handling"
  href="netdata.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="7.9.1 multifile Objects"
  href="MultiFile-objects.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="module-mimify.html">7.8 mimify  </a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="netdata.html">7. Internet Data Handling</a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="MultiFile-objects.html">7.9.1 MultiFile Objects</a>
</div>
</div>
<hr />
<span class="release-info">Release 2.5.1, documentation updated on 18th April, 2007.</span>
</div>
<!--End of Navigation Panel-->
<address>
See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
</address>
</body>
</html>
